# 21-set集合.py
'''
    set 是一个无序不重复的序列
    创建空集合必须使用set()
'''
# 1、创建set
bak = {'a','b',1,2,3,4,1,3} # 遇到重复会自动去掉
print(bak)
bak1=set()  # 创建空集合
print(type(bak1))  # set

# 2、两个集合之间的运算
a = set('abracadabra')
b= set('alcazam')
print(a,'\n',b)
# {'r', 'c', 'b', 'a', 'd'}
#  {'m', 'l', 'c', 'z', 'a'}
print(a-b) # 获取a里面去除掉b重复的元素
# {'d', 'r', 'b'}
print(a|b) # 去除重复(留下一个) 合并ab
print(a&b) # 集合中a和b中都包含的的元素
# {'a', 'c'}
print(a^b) # 去掉重复，a+b
# {'l', 'm', 'b', 'd', 'z', 'r'}

# 3、添加元素add() 简单的数据类型
bak1.add('123')
bak1.add('hello')
print(bak1)

# 4、添加复杂数据类型 update()
bak1.update([1,2,3,4])
bak1.update(('a','c'))
bak1.update({"name":'张三'})
print(bak1)

# 5、删除
bak1.remove('name') # 有会删除,没有就会报错
bak1.discard('d') # 有会删除，没有也不会报错
bak1.pop() # 随机删除一个元素
print(bak1)

# 6、集合清空 clear()
bak1.clear() # 清空1
bak1 = set() # 清空2
print(bak1)